home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 51 / Amiga Format CD51 (2000-03-10)(Future Publishing)(GB)[!][issue 2000-04].iso / -serious- / programming / e / powerd / source / examples / gadtoolstest.d < prev    next >
Text File  |  2000-01-27  |  2KB  |  56 lines

  1. // simple gadtools button in window
  2.  
  3. OPT    OSVERSION=37
  4.  
  5. MODULE    'gadtools',
  6.             'libraries/gadtools',
  7.             'intuition/intuition',
  8.             'intuition/screens',
  9.             'intuition/gadgetclass',
  10.             'graphics/text'
  11.  
  12. ENUM    NOERROR,ERROR
  13.  
  14. DEF    window:PTR TO Window,
  15.         glist,
  16.         screen:PTR TO Screen,
  17.         visual=NIL,
  18.         g:PTR TO Gadget,
  19.         GadToolsBase
  20.  
  21. PROC OpenAll()(LONG)
  22.     IF (GadToolsBase:=OpenLibrary('gadtools.library',37))=NIL THEN RETURN ERROR
  23.     IF (screen:=LockPubScreen('Workbench'))=NIL THEN RETURN ERROR
  24.     IF (visual:=GetVisualInfoA(screen))=NIL THEN RETURN ERROR
  25.     IF (g:=CreateContext(&glist))=NIL THEN RETURN ERROR
  26.     IF (g:=CreateGadgetA(BUTTON_KIND,g,[8,8,112,48,'Button',0,0,16,visual,0]:NewGadget,NIL))=NIL THEN RETURN ERROR
  27.     IF (window:=OpenWindowTagList(NIL,[
  28.             WA_Left,214,
  29.             WA_Top,64,
  30.             WA_InnerWidth,128,
  31.             WA_InnerHeight,64,
  32.             WA_IDCMP,IDCMP_CLOSEWINDOW|IDCMP_GADGETUP,
  33.             WA_Flags,$1100E|WFLG_GIMMEZEROZERO,
  34.             WA_Title,'Window',
  35.             WA_CustomScreen,screen,
  36.             WA_Gadgets,glist,
  37.             TAG_END]))=NIL THEN RETURN ERROR
  38.     DrawBevelBox(window.RPort,4,4,120,56,GT_VisualInfo,visual,GTBB_Recessed,1,TAG_END)
  39.     GT_RefreshWindow(window,NIL)
  40. ENDPROC NOERROR
  41.  
  42. PROC CloseAll()
  43.     IF window THEN CloseWindow(window) ELSE PrintF('Nemohu otevrit okno!\n')
  44.     IF glist THEN FreeGadgets(glist) ELSE PrintF('Nemoho vytvorit gadgety!\n')
  45.     IF screen THEN UnlockPubScreen(NIL,screen) ELSE PrintF('Nemohu uzamknout obrazovku!\n')
  46.     IF GadToolsBase THEN CloseLibrary(GadToolsBase) ELSE PrintF('Nemohu otevrit gadtools.library v37+!\n')
  47. ENDPROC
  48.  
  49. PROC main()
  50.     IF OpenAll() THEN Raise()
  51.     WaitPort(window.UserPort)
  52.     Raise()
  53. EXCEPT
  54.     CloseAll()
  55. ENDPROC
  56.